package clues.bihu.cluesaccident;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

import io.reactivex.disposables.Disposable;

/**
 * @Date 2018/7/9
 * @Author Mr.WEI
 * @Description rxbus生命周期
 **/
public class RxBusManager {
    private static Map<String, Disposable> rxbus = new HashMap<>();

    public static void add(String tag, Disposable disposable) {
        if (tag != null && disposable != null) {
            rxbus.put(tag, disposable);
        }
    }

    public static void clear() {
        rxbus.clear();
    }

    public static void dispose(String tag) {
        if(tag!=null){
            Iterator<Map.Entry<String, Disposable>> it = rxbus.entrySet().iterator();
            while (it.hasNext()) {
                Map.Entry<String, Disposable> item = it.next();
                if (item.getKey().equals(tag)) {
                    rxbus.get(tag).dispose();
                    it.remove();
                }
            }
        }
    }
}
